package com.cskaoyan.bytestream.buffer;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/*
           缓冲流的注意事项：
          1.  当使用缓冲字节输出流的write方法，写数据到外部设备的时候
          2.  当我们写入少量数据的时候(缓冲区数据还没满)，默认情况下，数据是不会写入外部设备
          3.  如果我们希望，把缓冲区中的数据，强行写入底层流，从而写入外部设备
              a. 缓冲流对象上调用.flush
                 public void flush()
                刷新此缓冲的输出流。这迫使所有缓冲的输出字节被写出到底层输出流中。
              b. 缓冲流对象.close
                  public void close()
                    a.对于，FilterOutputStream 的 close 方法先调用其 flush 方法，然后调用其基础输出流的 close 方法。
                    b.关闭此输出流并释放与此流有关的所有系统资源。
 */
public class Demo2 {

    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("c.txt");
        BufferedOutputStream bos = new BufferedOutputStream(fos);


        // 向文件中写入数据
        bos.write("hello,world".getBytes());

        // 关闭流
        //bos.close();
        bos.flush();

    }
}
